package ec.edu.ups.relevo.notificaciones.mail;

import javax.annotation.Resource;
import javax.ejb.Singleton;
import javax.mail.Address;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import ec.edu.ups.relevo.datos.modeloBD.Mensaje;
import ec.edu.ups.relevo.datos.modeloBD.MensajeContacto;
import ec.edu.ups.relevo.utils.ParametrosApp;
@Singleton
public class EmailService 
{
	
	@Resource(mappedName=ParametrosApp.MAIL_SESION)
	private Session mailSession;
	
	public void enviarEmail(Mensaje mensaje){
		try    
		{
            MimeMessage m = new MimeMessage(mailSession);

            Address[] to = new InternetAddress[mensaje.getMsj_contactos().size()]; 
            int i=0;
            for(MensajeContacto mc:mensaje.getMsj_contactos())
            {
            	to[i]=new InternetAddress(mc.getContacto().getMail()) ;
            	i++;
            }
            		
            //Address from = new InternetAddress(mailSession.getProperty(name));            		
            //m.setFrom(from);
           
            m.setRecipients(javax.mail.Message.RecipientType.TO, to);
            m.setSubject(mensaje.getAsunto());
            m.setSentDate(new java.util.Date());
            String contenido= mensaje.getDetalle().replaceAll("\n", "<br/>");
            m.setContent(contenido,"text/html; charset=utf-8");
            Transport.send(m);
        }
        catch (javax.mail.MessagingException e)       
        {
            e.printStackTrace();
        }
	}


}
